﻿namespace Tomato.Allure
{
	public interface IDocument
	{
		// Properties

		IWindow ActiveWindow { get; }
		string ExtenderCATID { get; }
		IProjectItem ProjectItem { get; }
		string Name { get; }
		string Path { get; }
		string FullName { get; }
		string Kind { get; }
		bool IsReadOnly { get; }
		bool IsSaved { get; }
		int IndentSize { get; }
		int TabSize { get; }
		string Language { get; }
		IWindows Windows { get; }

		// Methods

		void Activate();
		void ClearBookmarks();
		void Close( SaveChanges saveChanges );
		IWindow NewWindow();
		void PrintOut();
		bool Redo();
		bool ReplaceText( string findText, string replaceText, int flags );
		SaveStatus Save( string filePath );
		bool Undo();
	}
}
